import '../model/exercise_type.dart';

/// 锻炼数据
class ExerciseData {
  /// 获取所有锻炼类型
  static List<ExerciseType> getAllExerciseTypes() {
    return [
      // 户外活动 (GPS相关)
      const ExerciseType(
        id: 1,
        name: 'GPS散步',
        icon: '🚶',
        category: ExerciseCategory.outdoor,
        hasGps: true,
        caloriesPerMinute: 3.0,
        description: '户外轻松散步，适合日常锻炼',
      ),
      const ExerciseType(
        id: 2,
        name: 'GPS跑步',
        icon: '🏃',
        category: ExerciseCategory.outdoor,
        hasGps: true,
        caloriesPerMinute: 8.0,
        description: '户外跑步运动，提升心肺功能',
      ),
      const ExerciseType(
        id: 3,
        name: 'GPS室外骑行',
        icon: '🚴',
        category: ExerciseCategory.outdoor,
        hasGps: true,
        caloriesPerMinute: 6.0,
        description: '户外骑行运动，低冲击有氧运动',
      ),
      const ExerciseType(
        id: 4,
        name: 'GPS越野跑',
        icon: '🏔️',
        category: ExerciseCategory.outdoor,
        hasGps: true,
        caloriesPerMinute: 10.0,
        description: '野外越野跑步，挑战性强',
      ),
      const ExerciseType(
        id: 5,
        name: 'GPS徒步',
        icon: '🥾',
        category: ExerciseCategory.outdoor,
        hasGps: true,
        caloriesPerMinute: 4.0,
        description: '户外徒步登山，接近自然',
      ),
      const ExerciseType(
        id: 6,
        name: '马拉松',
        icon: '🏃‍♂️',
        category: ExerciseCategory.outdoor,
        hasGps: true,
        caloriesPerMinute: 12.0,
        description: '长距离跑步，耐力挑战',
      ),
      
      // 室内活动
      const ExerciseType(
        id: 7,
        name: '散步',
        icon: '🚶‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 2.5,
        description: '室内或跑步机散步',
      ),
      const ExerciseType(
        id: 8,
        name: '跑步',
        icon: '🏃‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '室内跑步机运动',
      ),
      const ExerciseType(
        id: 9,
        name: '室外骑行',
        icon: '🚲',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '健身房单车运动',
      ),
      const ExerciseType(
        id: 10,
        name: '跳绳',
        icon: '🪢',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 9.0,
        description: '室内跳绳运动，燃脂效果好',
      ),
      
      // 羽毛球等球类运动
      const ExerciseType(
        id: 11,
        name: '羽毛球',
        icon: '🏸',
        category: ExerciseCategory.ballSports,
        hasGps: false,
        caloriesPerMinute: 6.5,
        description: '羽毛球运动，手眼协调',
      ),
      const ExerciseType(
        id: 12,
        name: '乒乓球',
        icon: '🏓',
        category: ExerciseCategory.ballSports,
        hasGps: false,
        caloriesPerMinute: 4.0,
        description: '乒乓球运动，反应训练',
      ),
      const ExerciseType(
        id: 13,
        name: '篮球',
        icon: '🏀',
        category: ExerciseCategory.ballSports,
        hasGps: false,
        caloriesPerMinute: 8.0,
        description: '篮球运动，团队协作',
      ),
      const ExerciseType(
        id: 14,
        name: '足球',
        icon: '⚽',
        category: ExerciseCategory.ballSports,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '足球运动，全身协调',
      ),
      const ExerciseType(
        id: 15,
        name: '网球',
        icon: '🎾',
        category: ExerciseCategory.ballSports,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '网球运动，上肢训练',
      ),
      
      // 游泳等水上运动
      const ExerciseType(
        id: 16,
        name: '游泳',
        icon: '🏊',
        category: ExerciseCategory.waterSports,
        hasGps: false,
        caloriesPerMinute: 10.0,
        description: '游泳运动，全身锻炼',
      ),
      const ExerciseType(
        id: 17,
        name: '水球',
        icon: '🤽',
        category: ExerciseCategory.waterSports,
        hasGps: false,
        caloriesPerMinute: 8.0,
        description: '水球运动，水中团队项目',
      ),
      const ExerciseType(
        id: 18,
        name: '冲浪',
        icon: '🏄',
        category: ExerciseCategory.waterSports,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '冲浪运动，平衡训练',
      ),
      const ExerciseType(
        id: 19,
        name: '划船',
        icon: '🚣',
        category: ExerciseCategory.waterSports,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '划船运动，上肢力量',
      ),
      const ExerciseType(
        id: 20,
        name: '帆船',
        icon: '⛵',
        category: ExerciseCategory.waterSports,
        hasGps: false,
        caloriesPerMinute: 3.0,
        description: '帆船运动，技巧性强',
      ),
      
      // 格斗运动
      const ExerciseType(
        id: 21,
        name: '拳击',
        icon: '🥊',
        category: ExerciseCategory.combatSports,
        hasGps: false,
        caloriesPerMinute: 10.0,
        description: '拳击运动，力量训练',
      ),
      const ExerciseType(
        id: 22,
        name: '跆拳道',
        icon: '🥋',
        category: ExerciseCategory.combatSports,
        hasGps: false,
        caloriesPerMinute: 8.0,
        description: '跆拳道，腿法训练',
      ),
      const ExerciseType(
        id: 23,
        name: '空手道',
        icon: '🥋',
        category: ExerciseCategory.combatSports,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '空手道，格斗技巧',
      ),
      const ExerciseType(
        id: 24,
        name: '柔道',
        icon: '🤼',
        category: ExerciseCategory.combatSports,
        hasGps: false,
        caloriesPerMinute: 9.0,
        description: '柔道运动，摔跤技巧',
      ),
      const ExerciseType(
        id: 25,
        name: '击剑',
        icon: '🤺',
        category: ExerciseCategory.combatSports,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '击剑运动，反应训练',
      ),
      
      // 冬季运动
      const ExerciseType(
        id: 26,
        name: '滑雪',
        icon: '⛷️',
        category: ExerciseCategory.winterSports,
        hasGps: false,
        caloriesPerMinute: 8.0,
        description: '滑雪运动，平衡协调',
      ),
      const ExerciseType(
        id: 27,
        name: '单板滑雪',
        icon: '🏂',
        category: ExerciseCategory.winterSports,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '单板滑雪，平衡挑战',
      ),
      const ExerciseType(
        id: 28,
        name: '滑冰',
        icon: '⛸️',
        category: ExerciseCategory.winterSports,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '滑冰运动，腿部训练',
      ),
      const ExerciseType(
        id: 29,
        name: '冰球',
        icon: '🏒',
        category: ExerciseCategory.winterSports,
        hasGps: false,
        caloriesPerMinute: 9.0,
        description: '冰球运动，团队竞技',
      ),
      
      // 力量训练和健身
      const ExerciseType(
        id: 30,
        name: '举重',
        icon: '🏋️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '举重训练，力量增强',
      ),
      const ExerciseType(
        id: 31,
        name: '瑜伽',
        icon: '🧘',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 3.0,
        description: '瑜伽练习，柔韧性训练',
      ),
      const ExerciseType(
        id: 32,
        name: '普拉提',
        icon: '🤸',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 4.0,
        description: '普拉提，核心训练',
      ),
      const ExerciseType(
        id: 33,
        name: '有氧运动',
        icon: '💃',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '有氧健身，心肺训练',
      ),
      const ExerciseType(
        id: 34,
        name: '健身操',
        icon: '🏃‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '健身操，全身运动',
      ),
      
      // 其他运动扩展到128种
      const ExerciseType(
        id: 35,
        name: '攀岩',
        icon: '🧗',
        category: ExerciseCategory.outdoor,
        hasGps: false,
        caloriesPerMinute: 8.0,
        description: '攀岩运动，力量协调',
      ),
      const ExerciseType(
        id: 36,
        name: '跳舞',
        icon: '💃',
        category: ExerciseCategory.recreationalSports,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '舞蹈运动，协调训练',
      ),
      const ExerciseType(
        id: 37,
        name: '体操',
        icon: '🤸‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '体操运动，柔韧性强',
      ),
      const ExerciseType(
        id: 38,
        name: '棒球',
        icon: '⚾',
        category: ExerciseCategory.ballSports,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '棒球运动，手眼协调',
      ),
      const ExerciseType(
        id: 39,
        name: '高尔夫',
        icon: '⛳',
        category: ExerciseCategory.outdoor,
        hasGps: false,
        caloriesPerMinute: 3.0,
        description: '高尔夫，精准运动',
      ),
      const ExerciseType(
        id: 40,
        name: '射箭',
        icon: '🏹',
        category: ExerciseCategory.otherSports,
        hasGps: false,
        caloriesPerMinute: 3.0,
        description: '射箭运动，专注训练',
      ),
      
      // 继续添加更多运动类型以达到128种...
      const ExerciseType(
        id: 41,
        name: '椭圆机',
        icon: '🚴‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '椭圆机训练，低冲击有氧',
      ),
      const ExerciseType(
        id: 42,
        name: '划船机',
        icon: '🚣‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 8.0,
        description: '划船机，全身有氧',
      ),
      const ExerciseType(
        id: 43,
        name: '踏步机',
        icon: '🚶‍♂️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '踏步机，下肢训练',
      ),
      const ExerciseType(
        id: 44,
        name: '健身球',
        icon: '⚽',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 4.0,
        description: '健身球训练，核心稳定',
      ),
      const ExerciseType(
        id: 45,
        name: '哑铃',
        icon: '🏋️‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '哑铃训练，肌肉塑形',
      ),
      const ExerciseType(
        id: 46,
        name: '杠铃',
        icon: '🏋️‍♂️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '杠铃训练，力量增强',
      ),
      const ExerciseType(
        id: 47,
        name: '俯卧撑',
        icon: '💪',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '俯卧撑，上肢训练',
      ),
      const ExerciseType(
        id: 48,
        name: '仰卧起坐',
        icon: '🤸‍♂️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '仰卧起坐，腹肌训练',
      ),
      const ExerciseType(
        id: 49,
        name: '深蹲',
        icon: '🦵',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '深蹲训练，下肢力量',
      ),
      const ExerciseType(
        id: 50,
        name: '平板支撑',
        icon: '🏃‍♂️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 4.0,
        description: '平板支撑，核心训练',
      ),
      
      // 继续扩展到128种，这里展示更多类型的示例
      const ExerciseType(
        id: 51,
        name: '排球',
        icon: '🏐',
        category: ExerciseCategory.ballSports,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '排球运动，团队配合',
      ),
      const ExerciseType(
        id: 52,
        name: '手球',
        icon: '🤾',
        category: ExerciseCategory.ballSports,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '手球运动，快速反应',
      ),
      const ExerciseType(
        id: 53,
        name: '壁球',
        icon: '🎾',
        category: ExerciseCategory.ballSports,
        hasGps: false,
        caloriesPerMinute: 8.0,
        description: '壁球运动，爆发力训练',
      ),
      const ExerciseType(
        id: 54,
        name: '橄榄球',
        icon: '🏈',
        category: ExerciseCategory.ballSports,
        hasGps: false,
        caloriesPerMinute: 9.0,
        description: '橄榄球，力量对抗',
      ),
      const ExerciseType(
        id: 55,
        name: '保龄球',
        icon: '🎳',
        category: ExerciseCategory.recreationalSports,
        hasGps: false,
        caloriesPerMinute: 3.0,
        description: '保龄球，精准投掷',
      ),
      
      // 更多户外运动
      const ExerciseType(
        id: 56,
        name: '徒步旅行',
        icon: '🥾',
        category: ExerciseCategory.outdoor,
        hasGps: true,
        caloriesPerMinute: 5.0,
        description: '长距离徒步，耐力训练',
      ),
      const ExerciseType(
        id: 57,
        name: '登山',
        icon: '⛰️',
        category: ExerciseCategory.outdoor,
        hasGps: true,
        caloriesPerMinute: 8.0,
        description: '登山运动，全身挑战',
      ),
      const ExerciseType(
        id: 58,
        name: '野营',
        icon: '🏕️',
        category: ExerciseCategory.outdoor,
        hasGps: false,
        caloriesPerMinute: 2.0,
        description: '野营活动，户外生活',
      ),
      const ExerciseType(
        id: 59,
        name: '钓鱼',
        icon: '🎣',
        category: ExerciseCategory.recreationalSports,
        hasGps: false,
        caloriesPerMinute: 2.0,
        description: '钓鱼活动，休闲运动',
      ),
      const ExerciseType(
        id: 60,
        name: '骑马',
        icon: '🏇',
        category: ExerciseCategory.outdoor,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '骑马运动，平衡训练',
      ),
      
      // 水上运动扩展
      const ExerciseType(
        id: 61,
        name: '潜水',
        icon: '🤿',
        category: ExerciseCategory.waterSports,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '潜水运动，呼吸训练',
      ),
      const ExerciseType(
        id: 62,
        name: '浮潜',
        icon: '🤿',
        category: ExerciseCategory.waterSports,
        hasGps: false,
        caloriesPerMinute: 4.0,
        description: '浮潜，观赏海底',
      ),
      const ExerciseType(
        id: 63,
        name: '水上摩托',
        icon: '🛥️',
        category: ExerciseCategory.waterSports,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '水上摩托，刺激运动',
      ),
      const ExerciseType(
        id: 64,
        name: '皮划艇',
        icon: '🛶',
        category: ExerciseCategory.waterSports,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '皮划艇，上肢力量',
      ),
      
      // 更多室内运动
      const ExerciseType(
        id: 65,
        name: '蹦床',
        icon: '🤸',
        category: ExerciseCategory.recreationalSports,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '蹦床运动，有趣健身',
      ),
      const ExerciseType(
        id: 66,
        name: '太极',
        icon: '🧘‍♂️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 3.0,
        description: '太极拳，养生运动',
      ),
      const ExerciseType(
        id: 67,
        name: '气功',
        icon: '🧘‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 2.0,
        description: '气功练习，内修运动',
      ),
      const ExerciseType(
        id: 68,
        name: '武术',
        icon: '🥋',
        category: ExerciseCategory.combatSports,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '武术练习，传统功夫',
      ),
      
      // 运动舞蹈类
      const ExerciseType(
        id: 69,
        name: '尊巴',
        icon: '💃',
        category: ExerciseCategory.recreationalSports,
        hasGps: false,
        caloriesPerMinute: 8.0,
        description: '尊巴舞蹈，有氧燃脂',
      ),
      const ExerciseType(
        id: 70,
        name: '拉丁舞',
        icon: '💃',
        category: ExerciseCategory.recreationalSports,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '拉丁舞，优美燃脂',
      ),
      const ExerciseType(
        id: 71,
        name: '芭蕾',
        icon: '🩰',
        category: ExerciseCategory.recreationalSports,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '芭蕾舞，优雅塑形',
      ),
      const ExerciseType(
        id: 72,
        name: '街舞',
        icon: '🕺',
        category: ExerciseCategory.recreationalSports,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '街舞，律动健身',
      ),
      
      // 极限运动
      const ExerciseType(
        id: 73,
        name: '滑板',
        icon: '🛹',
        category: ExerciseCategory.recreationalSports,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '滑板运动，平衡技巧',
      ),
      const ExerciseType(
        id: 74,
        name: '轮滑',
        icon: '🛼',
        category: ExerciseCategory.recreationalSports,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '轮滑运动，速度与平衡',
      ),
      const ExerciseType(
        id: 75,
        name: '跑酷',
        icon: '🏃‍♂️',
        category: ExerciseCategory.outdoor,
        hasGps: false,
        caloriesPerMinute: 9.0,
        description: '跑酷运动，极限挑战',
      ),
      const ExerciseType(
        id: 76,
        name: '蹦极',
        icon: '🪂',
        category: ExerciseCategory.outdoor,
        hasGps: false,
        caloriesPerMinute: 3.0,
        description: '蹦极运动，极限体验',
      ),
      
      // 传统体育项目
      const ExerciseType(
        id: 77,
        name: '田径',
        icon: '🏃‍♂️',
        category: ExerciseCategory.outdoor,
        hasGps: false,
        caloriesPerMinute: 8.0,
        description: '田径运动，速度力量',
      ),
      const ExerciseType(
        id: 78,
        name: '跳高',
        icon: '🏃‍♀️',
        category: ExerciseCategory.outdoor,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '跳高运动，爆发力训练',
      ),
      const ExerciseType(
        id: 79,
        name: '跳远',
        icon: '🏃‍♂️',
        category: ExerciseCategory.outdoor,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '跳远运动，力量协调',
      ),
      const ExerciseType(
        id: 80,
        name: '标枪',
        icon: '🏹',
        category: ExerciseCategory.outdoor,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '标枪投掷，力量技巧',
      ),
      const ExerciseType(
        id: 81,
        name: '铅球',
        icon: '⚽',
        category: ExerciseCategory.outdoor,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '铅球投掷，力量爆发',
      ),
      const ExerciseType(
        id: 82,
        name: '铁饼',
        icon: '🥏',
        category: ExerciseCategory.outdoor,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '铁饼投掷，旋转力量',
      ),
      const ExerciseType(
        id: 83,
        name: '链球',
        icon: '⚽',
        category: ExerciseCategory.outdoor,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '链球投掷，旋转技巧',
      ),
      
      // 更多健身房器械
      const ExerciseType(
        id: 84,
        name: '史密斯机',
        icon: '🏋️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '史密斯机训练，安全力量',
      ),
      const ExerciseType(
        id: 85,
        name: '龙门架',
        icon: '🏋️‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '龙门架训练，多角度锻炼',
      ),
      const ExerciseType(
        id: 86,
        name: '坐姿划船',
        icon: '🚣',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '坐姿划船，背部训练',
      ),
      const ExerciseType(
        id: 87,
        name: '腿举',
        icon: '🦵',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '腿举训练，下肢力量',
      ),
      const ExerciseType(
        id: 88,
        name: '腿屈伸',
        icon: '🦵',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 4.0,
        description: '腿屈伸，股四头肌训练',
      ),
      const ExerciseType(
        id: 89,
        name: '腿弯举',
        icon: '🦵',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 4.0,
        description: '腿弯举，股二头肌训练',
      ),
      const ExerciseType(
        id: 90,
        name: '小腿提踵',
        icon: '🦵',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 3.0,
        description: '小腿提踵，小腿训练',
      ),
      
      // 瑜伽细分
      const ExerciseType(
        id: 91,
        name: '热瑜伽',
        icon: '🧘‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '热瑜伽，高温下练习',
      ),
      const ExerciseType(
        id: 92,
        name: '阴瑜伽',
        icon: '🧘‍♂️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 2.0,
        description: '阴瑜伽，深度放松',
      ),
      const ExerciseType(
        id: 93,
        name: '阿斯汤加瑜伽',
        icon: '🧘‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 4.0,
        description: '阿斯汤加，动态瑜伽',
      ),
      const ExerciseType(
        id: 94,
        name: '流瑜伽',
        icon: '🧘‍♂️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 3.5,
        description: '流瑜伽，连贯动作',
      ),
      
      // 更多有氧运动
      const ExerciseType(
        id: 95,
        name: '踏板操',
        icon: '🏃‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '踏板操，有氧塑形',
      ),
      const ExerciseType(
        id: 96,
        name: '搏击操',
        icon: '🥊',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 8.0,
        description: '搏击操，燃脂减压',
      ),
      const ExerciseType(
        id: 97,
        name: '单车课程',
        icon: '🚴‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 9.0,
        description: '动感单车，高强度有氧',
      ),
      const ExerciseType(
        id: 98,
        name: 'HIIT',
        icon: '💪',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 10.0,
        description: '高强度间歇训练',
      ),
      const ExerciseType(
        id: 99,
        name: 'Tabata',
        icon: '💪',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 12.0,
        description: 'Tabata，极限间歇',
      ),
      const ExerciseType(
        id: 100,
        name: '循环训练',
        icon: '🔄',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 8.0,
        description: '循环训练，全身锻炼',
      ),
      
      // 剩余运动类型（101-128）
      const ExerciseType(
        id: 101,
        name: '慢跑',
        icon: '🏃‍♂️',
        category: ExerciseCategory.outdoor,
        hasGps: true,
        caloriesPerMinute: 6.0,
        description: '慢跑，有氧基础',
      ),
      const ExerciseType(
        id: 102,
        name: '快走',
        icon: '🚶‍♂️',
        category: ExerciseCategory.outdoor,
        hasGps: true,
        caloriesPerMinute: 4.0,
        description: '快走，低冲击有氧',
      ),
      const ExerciseType(
        id: 103,
        name: '间歇跑',
        icon: '🏃‍♀️',
        category: ExerciseCategory.outdoor,
        hasGps: true,
        caloriesPerMinute: 9.0,
        description: '间歇跑，高低强度交替',
      ),
      const ExerciseType(
        id: 104,
        name: '爬坡跑',
        icon: '⛰️',
        category: ExerciseCategory.outdoor,
        hasGps: true,
        caloriesPerMinute: 11.0,
        description: '爬坡跑，增强腿力',
      ),
      const ExerciseType(
        id: 105,
        name: '楼梯训练',
        icon: '🏃‍♂️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 8.0,
        description: '楼梯训练，爆发力训练',
      ),
      const ExerciseType(
        id: 106,
        name: '战绳',
        icon: '💪',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 9.0,
        description: '战绳训练，全身爆发',
      ),
      const ExerciseType(
        id: 107,
        name: '壶铃',
        icon: '🏋️‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '壶铃训练，功能性训练',
      ),
      const ExerciseType(
        id: 108,
        name: '药球',
        icon: '⚽',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '药球训练，爆发力量',
      ),
      const ExerciseType(
        id: 109,
        name: '弹力带',
        icon: '💪',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 4.0,
        description: '弹力带训练，阻力训练',
      ),
      const ExerciseType(
        id: 110,
        name: 'TRX',
        icon: '💪',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: 'TRX训练，悬挂训练',
      ),
      const ExerciseType(
        id: 111,
        name: '泡沫轴',
        icon: '🧘‍♂️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 2.0,
        description: '泡沫轴放松，恢复训练',
      ),
      const ExerciseType(
        id: 112,
        name: '拉伸',
        icon: '🤸‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 2.0,
        description: '拉伸运动，柔韧性训练',
      ),
      const ExerciseType(
        id: 113,
        name: '按摩',
        icon: '💆‍♂️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 1.0,
        description: '按摩放松，肌肉恢复',
      ),
      const ExerciseType(
        id: 114,
        name: '冥想',
        icon: '🧘‍♀️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 1.0,
        description: '冥想练习，心理调节',
      ),
      const ExerciseType(
        id: 115,
        name: '呼吸训练',
        icon: '🫁',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 1.5,
        description: '呼吸训练，放松身心',
      ),
      const ExerciseType(
        id: 116,
        name: '平衡训练',
        icon: '🤸‍♂️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 3.0,
        description: '平衡训练，稳定性训练',
      ),
      const ExerciseType(
        id: 117,
        name: '协调训练',
        icon: '🤹‍♂️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 4.0,
        description: '协调训练，动作配合',
      ),
      const ExerciseType(
        id: 118,
        name: '反应训练',
        icon: '⚡',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '反应训练，神经训练',
      ),
      const ExerciseType(
        id: 119,
        name: '敏捷训练',
        icon: '🏃‍♂️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 7.0,
        description: '敏捷训练，速度灵活',
      ),
      const ExerciseType(
        id: 120,
        name: '核心训练',
        icon: '💪',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 5.0,
        description: '核心训练，腰腹力量',
      ),
      const ExerciseType(
        id: 121,
        name: '功能性训练',
        icon: '🏋️‍♂️',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '功能性训练，实用动作',
      ),
      const ExerciseType(
        id: 122,
        name: '康复训练',
        icon: '🩺',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 3.0,
        description: '康复训练，恢复运动',
      ),
      const ExerciseType(
        id: 123,
        name: '老年健身',
        icon: '👴',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 2.5,
        description: '老年健身，适老运动',
      ),
      const ExerciseType(
        id: 124,
        name: '儿童体能',
        icon: '👶',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 4.0,
        description: '儿童体能，成长运动',
      ),
      const ExerciseType(
        id: 125,
        name: '孕妇瑜伽',
        icon: '🤰',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 2.5,
        description: '孕妇瑜伽，安全温和',
      ),
      const ExerciseType(
        id: 126,
        name: '产后恢复',
        icon: '👩‍🍼',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 3.0,
        description: '产后恢复，重塑身形',
      ),
      const ExerciseType(
        id: 127,
        name: '办公室锻炼',
        icon: '💼',
        category: ExerciseCategory.indoor,
        hasGps: false,
        caloriesPerMinute: 2.0,
        description: '办公室锻炼，工作间隙',
      ),
      const ExerciseType(
        id: 128,
        name: '自由训练',
        icon: '🔥',
        category: ExerciseCategory.otherSports,
        hasGps: false,
        caloriesPerMinute: 6.0,
        description: '自由训练，个性化锻炼',
      ),
    ];
  }

  /// 根据分类获取锻炼类型
  static List<ExerciseType> getExerciseTypesByCategory(ExerciseCategory category) {
    return getAllExerciseTypes().where((exercise) => exercise.category == category).toList();
  }

  /// 获取GPS相关的锻炼类型
  static List<ExerciseType> getGpsExerciseTypes() {
    return getAllExerciseTypes().where((exercise) => exercise.hasGps).toList();
  }

  /// 根据ID获取锻炼类型
  static ExerciseType? getExerciseTypeById(int id) {
    try {
      return getAllExerciseTypes().firstWhere((exercise) => exercise.id == id);
    } catch (e) {
      return null;
    }
  }

  /// 获取所有分类
  static List<ExerciseCategory> getAllCategories() {
    return ExerciseCategory.values;
  }
}
